package com.ushine.web.base.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ushine.web.base.model.system.UserGroupDO;
import com.ushine.web.component.page.PageRequestQuery;

/**
 * @Author: yls
 * @Date: 2022/02/15 23:33
 * @Description:
 * @Version 1.0
 */
public interface IUserGroupService extends IService<UserGroupDO> {
    /**
     * 功能描述:
     * 〈添加用户组信息〉
     *
     * @param userGroup 用户组
     * @return : java.lang.Boolean
     * @author : yls
     * @date : 2022/02/15 23:35
     */
    Boolean insertUserGroup(UserGroupDO userGroup);

    /**
     * 功能描述:
     * 〈根据【id】删除用户组信息〉
     *
     * @param id 用户组id
     * @return : java.lang.Boolean
     * @author : yls
     * @date : 2022/02/15 23:35
     */
    Boolean deleteUserGroup(Long id);

    /**
     * 功能描述:
     * 〈修改用户组信息〉
     *
     * @param userGroup 用户组信息
     * @return : java.lang.Boolean
     * @author : yls
     * @date : 2022/02/15 23:35
     */
    Boolean updateUserGroup(UserGroupDO userGroup);

    /**
     * 功能描述:
     * 〈 获取用户组名称 〉
     *
     * @param userGroupName 用户组名称
     * @return : com.ushine.web.base.model.system.UserGroupDO
     * @author : yls
     * @date : 2022/2/16 11:32
     */
    UserGroupDO getUserGroupByName(String userGroupName);

    /**
     * 功能描述:
     * 〈分页查询用户组〉
     *
     * @param pageRequestQuery 分页查询请求参数对象
     * @return : java.util.List<com.ushine.web.base.model.system.UserGroupDO>
     * @author : yls
     * @date : 2022/02/15 23:36
     */
    Page<UserGroupDO> listUserGroups(PageRequestQuery<UserGroupDO> pageRequestQuery);
}
